IT鐵人
在評斷一個硬碟有多高的Availability時,我們會考慮硬碟多久會壞掉、修復一次要花費多少時間,再來計算它的Availability。
第一個名詞是MTTF(Mean Time To Failure),意旨它多久後會出錯,所以這個時間越大越好,代表在這段時間內它都是可以運作的。
第二個名詞是MTTR(Mean Time To Repair),意旨它維修一次要多久,我們會希望它能夠越快修好越好。
而將上面兩個加起來的結果稱為MTBF(Mean Time Between Failure),代表兩次壞掉的間隔,也就是兩次去找老闆報修的時間間隔。
那麼我們的Availability的計算方式就是MTTF / MTBF,也就是MTTF / (MTTF + MTTR)。
修復的時間比較不好更動,而且一般來說修復的時間蠻短的,所以我們會希望盡量提高MTTF,改善MTTF的作法有下面三個:
名稱 | 內容 |
---|---|
錯誤避免(fault avoidance) | 藉由結構的設計避免錯誤的產生。 |
錯誤容忍(fault tolerance) | 藉由多餘的硬體或軟體,在發生錯誤的狀況下仍然能夠運作。 |
錯誤預測(fault forecasting) | 預期錯誤的出現和產生。 |
以下我們討論fault tolerance的作法,也就是RAID。
RAID全名為Redundant Arrays of Inexpensive Disks,目標就是拿多一點便宜的硬碟組合成一個大且貴的硬碟。所謂的貴也就是為了安全啦。
在RAID中我們主要使用以下兩種技術:
以下是各種RAID的說明:
名稱 | 圖片 | 說明 |
---|---|---|
RAID 0 (No redundancy) | 只是拆成多個硬碟,沒辦法容許錯誤,資料發生錯誤就遺失了。 | |
RAID 1 (Mirroring) | 拆了硬碟並且複製一份,需要用到RAID 0兩倍的硬碟數目,是最昂貴的RAID作法。 | |
RAID 2 (Error Detecting and Correcting Code) | 借用常用在記憶體的error detection及更正作法(Hamming code)。寫入時要讀出所有硬碟資料,重新計算hamming code並寫入ECC硬碟,效率不佳。 | |
RAID 3 (Bit-Interleaved Parity) | 把硬碟分組,同組的硬碟加總計算後存入另一個硬碟,將來某個資料出現錯誤時,就把加總的部份減去其他的資料就好了。 | |
RAID 4 (Block-Interleaved Parity) | 跟RAID 3很像,只是不把所有硬碟的資料加總,以Block為單位加總,如此一來可以減少計算錯誤時所動用的硬碟數量。 | |
RAID 5 (Distributed Block-Interleaved Parity) | 為了改進RAID 4把錯誤處理的資料放在同一個硬碟,RAID 5將資料分開在每一個硬碟上,如此一來可以避免所有人都擠著要修正錯誤。 | |
RAID 6 (P+Q Redundancy) | 避免同時發生兩個錯誤,所以做了兩個錯誤偵測的區塊,這樣即使一個錯誤處理的資料不夠,還有另一個錯誤處理的資料可以使用。 | |
RAID 1+0 or 0+1 | 這邊就只是看要先做RAID 0或是RAID 1而已,可以看看。 |
恭喜各位完成了計算機組織與結構,接下來會進入作業系統的部份。
如果說電腦是一個籃球比賽,那麼籃框跟籃球就是我們結束的部份,後面的作業系統就像是規則,在往上的應用程式就是球員以及打比賽的技巧。
還有很長的路阿各位...
上一篇 | 下一篇 |
---|---|
Disk很大,你忍一下 | OS初體驗 |